namespace SLS.Presentation
{
    //.NET References
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.Composition;
    using System.Linq;
    using System.Text;
    using SLS.Presentation.Constants;
    using SLS.ExClassLib.MVVM;

    //LocalizationLibrary References
    using SLS.ExClassLib.Loc;
    using SLS.ExClassLib.Loc.Attributes;  
    /// <summary>
    /// Defines a static localization's <see cref="ViewModel"/>
    /// </summary>
    [Export("LanSunStudioSystemComposition", typeof(ILocalizationModel))]
    public class LanSunStudioSystemLocalizationModel : LocalizationModel
    {
        //Constructors
        //Fields 
        /// <summary>
        /// Default constructor.
        /// </summary>
        public LanSunStudioSystemLocalizationModel()
        {
            LocalizationManager.RegisterLocalizationModel(this);
            this.CurrentLanguage = LocalizationManager.CurrentLanguage;
            this.AvailableLanguages = new List<Language>(Languages.AvailableLanguages);
        } 
        //Properties
                                /// <summary>
        /// Gets/Sets the SM. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.SM)]
        [LocalizeDynamically(Language = "en", Value = "SM")]
        public String SM { get; set; }                  
                                /// <summary>
        /// Gets/Sets the KEYDEFTYPE. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.KEYDEFTYPE)]
        [LocalizeDynamically(Language = "en", Value = "KEYDEFTYPE")]
        public String KEYDEFTYPE { get; set; }                  
                                /// <summary>
        /// Gets/Sets the GTPRE. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.GTPRE)]
        [LocalizeDynamically(Language = "en", Value = "GTPRE")]
        public String GTPRE { get; set; }                  
                                /// <summary>
        /// Gets/Sets the GTKEY. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.GTKEY)]
        [LocalizeDynamically(Language = "en", Value = "GTKEY")]
        public String GTKEY { get; set; }                  
                                /// <summary>
        /// Gets/Sets the GDKEY. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.GDKEY)]
        [LocalizeDynamically(Language = "en", Value = "GDKEY")]
        public String GDKEY { get; set; }                  
                                /// <summary>
        /// Gets/Sets the GDKEYID. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.GDKEYID)]
        [LocalizeDynamically(Language = "en", Value = "GDKEYID")]
        public String GDKEYID { get; set; }                  
                                /// <summary>
        /// Gets/Sets the LONGDES. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.LONGDES)]
        [LocalizeDynamically(Language = "en", Value = "LONGDES")]
        public String LONGDES { get; set; }                  
                                /// <summary>
        /// Gets/Sets the SDES. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.SDES)]
        [LocalizeDynamically(Language = "en", Value = "SDES")]
        public String SDES { get; set; }                  
                                /// <summary>
        /// Gets/Sets the POS. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.POS)]
        [LocalizeDynamically(Language = "en", Value = "POS")]
        public String POS { get; set; }                  
                                /// <summary>
        /// Gets/Sets the LASTPOS. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.LASTPOS)]
        [LocalizeDynamically(Language = "en", Value = "LASTPOS")]
        public String LASTPOS { get; set; }                  
                                /// <summary>
        /// Gets/Sets the EXTENEDPROPERTY. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.EXTENEDPROPERTY)]
        [LocalizeDynamically(Language = "en", Value = "EXTENEDPROPERTY")]
        public String EXTENEDPROPERTY { get; set; }                  
                                /// <summary>
        /// Gets/Sets the SUBSTATUS. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.SUBSTATUS)]
        [LocalizeDynamically(Language = "en", Value = "SUBSTATUS")]
        public String SUBSTATUS { get; set; }                  
                                /// <summary>
        /// Gets/Sets the STATUS. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.STATUS)]
        [LocalizeDynamically(Language = "en", Value = "STATUS")]
        public String STATUS { get; set; }                  
                                /// <summary>
        /// Gets/Sets the FUSER. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.FUSER)]
        [LocalizeDynamically(Language = "en", Value = "FUSER")]
        public String FUSER { get; set; }                  
                                /// <summary>
        /// Gets/Sets the FDATE. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.FDATE)]
        [LocalizeDynamically(Language = "en", Value = "FDATE")]
        public String FDATE { get; set; }                  
                                /// <summary>
        /// Gets/Sets the LUSER. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.LUSER)]
        [LocalizeDynamically(Language = "en", Value = "LUSER")]
        public String LUSER { get; set; }                  
                                /// <summary>
        /// Gets/Sets the LDATE. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.LDATE)]
        [LocalizeDynamically(Language = "en", Value = "LDATE")]
        public String LDATE { get; set; }                  
        /// Gets/Sets the UID. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.UID)]
        [LocalizeDynamically(Language = "en", Value = "UID")]
        public String UID { get; set; }                  
                                /// <summary>
        /// Gets/Sets the CREATIONSOURCE. It is a localized property.
        /// </summary>
        [LocalizeDynamically(LanSunStudioSystemLocalizationKey.CREATIONSOURCE)]
        [LocalizeDynamically(Language = "en", Value = "CREATIONSOURCE")]
        public String CREATIONSOURCE { get; set; }                  
    }
}
  
